package com.springboot.admin.mapper;

import com.springboot.admin.entity.CommentsDto;
import com.springboot.admin.entity.PagesDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface PagesDao {
  // 查询所有数据
  public List<PagesDto> getAll(int pageNo);

  // 查询所有数据总条数
  public int getAllCount();

  // 查询某分类下数据
  public List<PagesDto> getListByCate(int cate, int page);

  // 查询某分类下总条数
  public int getCountByCate(int cate);

  // 查询总浏览量
  public int getCountViews();

  // 查询某关键字下数据
  public List<PagesDto> getListByTags(String cate, int page);

  // 查询关键字下总条数
  public int getCountByTags(String cate);

  // 查询所有数据阅读量最多的列表
  public List<PagesDto> getRecomList();

  // 查询30天阅读量最多的列表
  public List<PagesDto> getRecomListBy30();

  // 查询365天内阅读量最多的列表
  public List<PagesDto> getRecomListBy365();

  // 查询详情
  public PagesDto getDetail(@Param("id") int id);


  // 获取所有分类
  public List getCate();

  // 获取标签云
  public List getTags();


  // 更新阅读量，每次点击+1
  public boolean updateViews(PagesDto pagesDto);

  // 插入评论
  public boolean insertComment(CommentsDto commentsDto);

  // 获取评论
  public List<CommentsDto> getComment(String id);

  // 获取所有评论
  public List<CommentsDto> getAllComment();

  // 获取最新评论
  public List<CommentsDto> getLatestComments();

  // 更新某文章评论总条数
  public boolean updateCommentNum(CommentsDto commentsDto);

  // 通过uuid查询详情
  public PagesDto getDetailByUUID(String id);

  // 查询所有数据
  public List<PagesDto> getAllPost();

  // 通过Id插入uuid
  public void updateUUIDByid(String uid,int id);

}

